# coding: utf-8
from sqlalchemy import Column, Date, DateTime, Float, Integer, String, text
from sqlalchemy.ext.declarative import declarative_base


Base = declarative_base()
metadata = Base.metadata


class FinancialIndicatorDay(Base):
    __tablename__ = 'financial_indicator_day'

    id = Column(Integer, primary_key=True, doc="id")
    code = Column(String(12), nullable=False)
    day = Column(Date, nullable=False, server_default=text("'0000-00-00'"))
    pubDate = Column(Date, nullable=False, server_default=text("'0000-00-00'"))
    statDate = Column(Date, nullable=False, server_default=text("'0000-00-00'"))
    periodStart = Column(Date, nullable=False, server_default=text("'0000-00-00'"), doc="两次报告之间的日期范围:start date")
    periodEnd = Column(Date, nullable=False, server_default=text("'0000-00-00'"), doc="两次报告之间的日期范围:end date")
    reportId = Column(Integer, nullable=False, server_default=text("'0'"))
    eps = Column(Float(20), doc="每股收益EPS(元)")
    adjusted_profit = Column(Float(20), doc="扣除非经常损益后的净利润(元)")
    operating_profit = Column(Float(20), doc="经营活动净收益(元)")
    value_change_profit = Column(Float(20), doc="价值变动净收益(元)")
    roe = Column(Float(20), doc="净资产收益率ROE(%)")
    inc_return = Column(Float(10), doc="净资产收益率(扣除非经常损益)(%)")
    roa = Column(Float(10), doc="总资产净利率ROA(%)")
    net_profit_margin = Column(Float(10), doc="销售净利率(%)")
    gross_profit_margin = Column(Float(10), doc="销售毛利率(%)")
    expense_to_total_revenue = Column(Float(10), doc="营业总成本/营业总收入(%)")
    operation_profit_to_total_revenue = Column(Float(10), doc="营业利润/营业总收入(%)")
    net_profit_to_total_revenue = Column(Float(10), doc="净利润/营业总收入(%)")
    operating_expense_to_total_revenue = Column(Float(10), doc="营业费用/营业总收入(%)")
    ga_expense_to_total_revenue = Column(Float(10), doc="管理费用/营业总收入(%)")
    financing_expense_to_total_revenue = Column(Float(10), doc="财务费用/营业总收入(%)")
    operating_profit_to_profit = Column(Float(10), doc="经营活动净收益/利润总额(%)")
    invesment_profit_to_profit = Column(Float(10), doc="价值变动净收益/利润总额(%)")
    adjusted_profit_to_profit = Column(Float(10), doc="扣除非经常损益后的净利润/净利润(%)")
    goods_sale_and_service_to_revenue = Column(Float(10), doc="销售商品提供劳务收到的现金/营业收入(%)")
    ocf_to_revenue = Column(Float(10), doc="经营活动产生的现金流量净额/营业收入(%)")
    ocf_to_operating_profit = Column(Float(10), doc="经营活动产生的现金流量净额/经营活动净收益(%)")
    inc_total_revenue_year_on_year = Column(Float(10), doc="营业总收入同比增长率(%)")
    inc_total_revenue_annual = Column(Float(10), doc="营业总收入环比增长率(%)")
    inc_revenue_year_on_year = Column(Float(10), doc="营业收入同比增长率(%)")
    inc_revenue_annual = Column(Float(10), doc="营业收入环比增长率(%)")
    inc_operation_profit_year_on_year = Column(Float(10), doc="营业利润同比增长率(%)")
    inc_operation_profit_annual = Column(Float(10), doc="营业利润环比增长率(%)")
    inc_net_profit_year_on_year = Column(Float(10), doc="净利润同比增长率(%)")
    inc_net_profit_annual = Column(Float(10), doc="净利润环比增长率(%)")
    inc_net_profit_to_shareholders_year_on_year = Column(Float(10), doc="归属母公司股东的净利润同比增长率(%)")
    inc_net_profit_to_shareholders_annual = Column(Float(10), doc="归属母公司股东的净利润环比增长率(%)")
    status = Column(Integer, nullable=False, server_default=text("'0'"))
    addTime = Column(DateTime, nullable=False, server_default=text("'0000-00-00 00:00:00'"))
    modTime = Column(DateTime, nullable=False, server_default=text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"))

